home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 1997 July / Freeware CD.iso / FREEWARE / !utils / sfs / SFS117!.EXE / SFS5.DOC < prev    next >
Encoding:
Text File  |  1995-03-20  |  55.7 KB  |  885 lines

  1. The Care and Feeding of Passwords
  2. ---------------------------------
  3.  
  4. With the inherent strength of an encryption system like the one used by SFS,
  5. the password used for encryption is becoming more the focus of attack than the
  6. encryption system itself.  The reason for this is that trying to guess an
  7. encryption password is far simpler than trying to break the encryption system.
  8.  
  9. SFS allows keys of up to 100 characters in length.  These keys can contain
  10. letters, numbers, spaces, punctuation, and most control and extended characters
  11. except backspace (which is used for editing), escape (which is used to abort
  12. the password entry), and carriage return or newline, which are used to signify
  13. the end of the password.  You should try and take advantage of this fact as
  14. much as possible, with preferred passwords being entire phrases rather than
  15. individual words (in fact since very few words are longer than the SFS absolute
  16. minimum password length of 10 characters, the complete set of these words can
  17. be checked in moments).  There exist programs designed to allow high-speed
  18. password cracking of standard encryption algorithms which can, in a matter of
  19. hours (sometimes minutes, even seconds in the case of very weak algorithms),
  20. attempt to use the contents of a number of very large and complete dictionaries
  21. as sample passwords [1][2][3][4][5].  For example one recent study of passwords
  22. used on Unix systems[6] found 25% of all passwords simply by using
  23. sophisticated guessing techniques.  Of the 25% total, nearly 21% (or around
  24. 3,000 passwords) were found within the first week using only the spare
  25. processing power of a few low-end workstations.  368 were found within the
  26. first few minutes.  On an average system with 50 users, the first password
  27. could be found in under 2 minutes, with 5-15 passwords being found by the end
  28. of the first day[7].
  29.  
  30. Virtually all passwords composed of single words can be broken with ease in
  31. this manner, even in the case of encryption methods like the one which is used
  32. by SFS, which has been specially designed to be resistant to this form of
  33. attack (doing a test of all possible 10-letter passwords assuming a worst-case
  34. situation in which the password contains lowercase letters only, can be
  35. accomplished in 450,000 years on a fast workstation (DEC Alpha) if the attacker
  36. knows the contents of the encrypted volume in advance - or about 4 1/2 years on
  37. a network of 100,000 of these machines).  Of course no attacker would use this
  38. approach, as few people will use every possible combination of 10 letter
  39. passwords.  By using an intelligent dictionary-based cracking program, this
  40. time can be reduced to only a few months.  Complete programs which perform this
  41. task and libraries for incorporation into other software are already widely
  42. available[8].  This problem is especially apparent if the encryption algorithm
  43. used is very weak - the encryption used by the popular Pkzip archiver, for
  44. example, can usually be broken in this manner in a few seconds on a cheap
  45. personal computer using the standard wordlist supplied with all Unix
  46. systems[9].
  47.  
  48. You shouldn't rely on simple modifications to passwords for security.
  49. Capitalizing some letters, spelling the words backwards, adding one or two
  50. digits to the end, and so on, increase the amount of work which needs to be
  51. done by the average password-cracker by only a small amount over that needed
  52. for plain unadorned passwords.  You should avoid any phrase which could be
  53. present in any kind of list (song lyrics, movie scripts, books, plays, poetry,
  54. famous sayings, and so on) - again, these can be easily and automatically
  55. checked by computers.  Using foreign languages offers no extra security, since
  56. it means an attacker merely has to switch to using foreign-language
  57. dictionaries (or phrase lists, song lyrics, and so on).  Relying on an attacker
  58. not knowing that a foreign language is being used ("If I use Swahili they'll
  59. never think of checking for it" - the so-called "Security through obscurity"
  60. technique) offers no extra security, since the few extra days or months it will
  61. take to check every known language are only a minor inconvenience.
  62.  
  63. Probably the most difficult passwords to crack are ones comprising unusual
  64. phrases or sentences, since instead of searching a small body of text like the
  65. contents of a dictionary, book, or phrase list, the cracker must search a much
  66. larger corpus of data, namely all possible phrases in the language being used.
  67. Needless to say, the use of common phrases should be avoided, since these will
  68. be an obvious target for crackers.
  69.  
  70. Some examples of bad passwords are:
  71.  
  72.     misconception               Found in a standard dictionary
  73.     noitpecnocsim               Reversed standard dictionary word
  74.     miskonseption               Simple misspelling of a standard word
  75.     m1skon53pshun               Not-so-simple misspelling of a standard word
  76.     MiScONcepTiON               Standard word with strange capitalization
  77.     misconception1234           Standard word with simple numeric code appended
  78.     3016886726                  Simple numeric code, probably a US phone number
  79.     YKYBHTLWYS                  Simple mnemonic
  80.  
  81. In general coming up with a secure single-word password is virtually impossible
  82. unless you have a very good memory for things like unique 20-digit numbers.
  83.  
  84. Some examples of bad passphrases are:
  85.  
  86.     What has it got in its
  87.      pocketses?                 Found in a common book
  88.     Ph'n-glui mgl'w naf'h
  89.       Cthulhu R'yleh w'gah      Found in a somewhat less common book
  90.     For yesterday the word of
  91.       Caesar might have stood   Found in a theatrical work
  92.     modify the characteristics
  93.       of a directory            Found in a technical manual
  94.     T'was brillig, and the
  95.       slithy toves              Found in a book of poetry
  96.     I've travelled roads that
  97.       lead to wonder            Found in a list of music lyrics
  98.     azetylenoszilliert in
  99.       phaenomenaler kugelform   Found in an obscure foreign journal
  100.     Arl be back                 Found in several films
  101.     I don't recall              Associated with a famous person (although
  102.                                 it does make a good answer to the question
  103.                                 "What's the password?" during an
  104.                                 interrogation)
  105.  
  106. Needless to say, you should never write a passphrase down or record it in any
  107. other way, or communicate it to anyone else.
  108.  
  109. Footnote [1]: A large collection of word lists suitable for this kind of attack
  110.               can be found on ftp.ox.ac.uk in directories below the
  111.               /pub/wordlists directory, and total about 15MB of compressed
  112.               data.  These dictionaries contain, among other things, 2MB of
  113.               Dutch words, 2MB of German words, 600KB of Italian words, 600KB
  114.               of Norwegian words, 200KB of Swedish words, 3.3MB of Finnish
  115.               words, 1MB of Japanese words, 1.1MB of Polish words, 700KB of
  116.               assorted names, and a very large collection of assorted wordlists
  117.               covering technical terms, jargon, hostnames, internet machine
  118.               names, login ID's, usenet sites, computer languages, computer
  119.               companies, the Koran, the Bible, the works of Lewis Carrol,
  120.               Shakespeare, acronyms, characters from books, plays and films,
  121.               actors given names, actors surnames, titles from movies, plays,
  122.               and television, Monty Python, Star Trek, US politics, US postal
  123.               areas, US counties, the CIA world fact book, the contents of
  124.               several large standard dictionaries and thesaurii, and common
  125.               terms from Australian, Chinese, Croatian, Danish, Dutch, English,
  126.               Finnish, French, German, Hindi, Hungarian, Italian, Japanese,
  127.               Latin, Norwegian, Polish, Russian, Spanish, Swahili, Swedish,
  128.               Yiddish, computers, literature, places, religion, and scientific
  129.               terms.
  130.  
  131.               The ftp.ox.ac.uk site also contains, in the directory
  132.               /src/security, the file cracklib25.tar.Z, a word dictionary of
  133.               around 10MB, stored as a 6.4MB compressed tar file.
  134.  
  135. Footnote [2]: A large dictionary of English words which also contains
  136.               abbreviations, hyphenations, and misspelled words, is available
  137.               from wocket.vantage.gte.com (131.131.98.182) in the
  138.               /pub/standard_dictionary directory as dic-0594.tar, an
  139.               uncompressed 16.1MB file, dic-0594.tar.Z, a compressed 7.6MB
  140.               file, dic-0594.tar.gz, a Gzip'ed 5.9MB file, and dic-0594.zip, a
  141.               Zipped 5.8MB file.  This contains around 1,520,000 entries.  In
  142.               combination with a Markov model for the English language built
  143.               from commonly-available texts, this wordlist provides a powerful
  144.               tool for attacking even full passphrases.
  145.  
  146. Footnote [3]: A Unix password dictionary is available from ftp.spc.edu as
  147.               .unix/password-dictionary.txt.
  148.  
  149. Footnote [4]: Grady Ward <grady@netcom.com> has collected very large
  150.               collections of words, phrases, and other items suitable for
  151.               dictionary attacks on cryptosystems.  Even the NSA has used his
  152.               lists in their work.  Of particular interest are Moby Words,
  153.               which contains 610,000 English entries including Scrabble(tm)
  154.               compatible words, baby names, word frequencies, special subsets
  155.               for spelling checkers and more, Moby Part-of-Speech, which
  156.               contains 230,000 words and phrases marked with full
  157.               part-of-speech data (in priority order for those words having
  158.               more than one part-of-speech), Moby Pronunciator with 175,000
  159.               words and phrases fully coded with International Phonetic
  160.               Alphabet (IPA) ASCII symbols including up to three levels of
  161.               emphasis (stress), and Moby Thesaurus with 30,000 root words and
  162.               more than 2.5 million synonyms and related words.  Samples of
  163.               each of the lexical databases are available from ftp.netcom.com
  164.               (192.100.81.100) in the /pub/grady directory as
  165.               Moby-Sampler.tar.Z.  A Postscript brochure describing the lists
  166.               is available from the same location as Moby_Brochure8.5x14.ps.Z,
  167.               the full datasets can be obtained from Grady Ward, 3449 Martha
  168.               Ct., Arcata, CA 95521-4884, ph/fax 1-707-826-7715
  169.  
  170. Footnote [5]: A number of CDROM's are available which contain information
  171.               useful for password-cracking.  Two of these are the Chestnut
  172.               "Dictionaries and Languages" CDROM and the Walnut Creek "Project
  173.               Gutenberg" CDROM.
  174.  
  175. Footnote [6]: Daniel Klein, "Foiling the Cracker: A Survey of, and Improvements
  176.               to, Password Security", Software Engineering Institute, Carnegie
  177.               Mellon University.
  178.  
  179. Footnote [7]: An improved implementation is approximately 3 times faster on an
  180.               entry-level 386 system, 4 times faster on an entry-level 486
  181.               system, and up to 10 times faster on a more powerful workstation
  182.               such as a Sparcstation 10 or DEC 5000/260, meaning that the first
  183.               password would be found in just over 10 seconds on such a
  184.               machine.
  185.  
  186. Footnote [8]: One such program is "crack", currently at version 4.1 and
  187.               available from ftp.ox.ac.uk in the directory /src/security as
  188.               crack41.tar.Z.
  189.  
  190. Footnote [9]: Actual cryptanalysis of the algorithm, rather than just trying
  191.               passwords, takes a little longer, usually on the order of a few
  192.               hours with a low-end workstation.  However this method will
  193.               (after a little work) break all encrypted zip files, not just the
  194.               ones for which the password can be guessed.
  195.  
  196.  
  197. Other Software
  198. --------------
  199.  
  200. There are a small number of other programs available which claim to provide
  201. disk security of the kind provided by SFS.  However by and large these tend to
  202. use badly or incorrectly implemented algorithms, or algorithms which are known
  203. to offer very little security.  One such example is Norton's Diskreet, which
  204. encrypts disks using either a fast proprietary cipher or the US Data Encryption
  205. Standard (DES).  The fast proprietary cipher is very simple to break (it can be
  206. done with pencil and paper), and offers protection only against a casual
  207. browser.  Certainly anyone with any programming or puzzle-solving skills won't
  208. be stopped for long by a system as simple as this[1].
  209.  
  210. The more secure DES algorithm is also available in Diskreet, but there are
  211. quite a number of implementation errors which greatly reduce the security it
  212. should provide.  Although accepting a password of up to 40 characters, it then
  213. converts this to uppercase-only characters and then reduces the total size to 8
  214. characters of which only a small portion are used for the encryption itself.
  215. This leads to a huge reduction in the number of possible encryption keys, so
  216. that not only are there a finite (and rather small) total number of possible
  217. passwords, there are also a large number of equivalent keys, any of which will
  218. decrypt a file (for example a file encrypted with the key 'xxxxxx' can be
  219. decrypted with 'xxxxxx', 'xxxxyy', 'yyyyxx', and a large collection of other
  220. keys, too many to list here).
  221.  
  222. These fatal flaws mean that a fast dictionary-based attack can be used to check
  223. virtually all possible passwords in a matter of hours on a standard PC.  In
  224. addition the CBC (cipher block chaining) encryption mode used employs a known,
  225. fixed initialisation vector (IV) and restarts the chaining every 512 bytes,
  226. which means that patterns in the encrypted data are not hidden by the
  227. encryption.  Using these two implementation errors, a program can be
  228. constructed which will examine a Diskreet-encrypted disk and produce the
  229. password used to encrypt it (or at least one of the many, many passwords
  230. capable of decrypting it) within moments.  In fact, for any data it encrypts,
  231. Diskreet writes a number of constant, fixed data blocks (one of which contains
  232. the name of the programmer who wrote the code, many others are simply runs of
  233. zero bytes) which can be used as the basis of an attack on the encryption.
  234. Even worse, the very weak proprietary scheme used by Diskreet gives away the
  235. encryption key used so that if any two pieces of data are encrypted with the
  236. same password, one with the proprietary scheme and the other with Diskreet's
  237. DES implementation, the proprietary-encrypted data will reveal the encryption
  238. key used for the DES-encrypted data[1].
  239.  
  240. These problems are in fact explicitly warned against in any of the documents
  241. covering DES and its modes of operation, such as ISO Standards 10116 and
  242. 10126-2, US Government FIPS Publication 81, or basic texts like Denning's
  243. "Cryptography and Data Security".  It appears that the authors of Diskreet
  244. never bothered to read any of the standard texts on encryption to make sure
  245. they were doing things right, or never really tested the finished version.  In
  246. addition the Diskreet encryption code is taken from a code library provided by
  247. another company rather than the people who sell Diskreet, with implementation
  248. problems in both the encryption code and the rest of Diskreet.
  249.  
  250. The DES routines used in Da Vinci, a popular groupware product, are similarly
  251. poorly implemented.  Not only is an 8-character password used directly as the
  252. DES key, but the DES encryption method used is the electronic codebook (ECB)
  253. mode, whose use is warned against in even the most basic cryptography texts
  254. and, in a milder form, in various international encryption standards.  For
  255. example, Annex A.1 of ISO 10116:1991 states "The ECB mode is in general not
  256. recommended".  ISO 10126-2:1991 doesn't even mention ECB as being useful for
  257. message encryption.  The combination of Da Vinci's very regular file structure
  258. (which provides an attacker with a large amount of known data in very file),
  259. the weak ECB encryption mode, and the extremely limited password range, makes a
  260. precomputed dictionary attack (which involves a single lookup in a pre-set
  261. table of plaintext-ciphertext pairs) very easy (even easier, in fact, than the
  262. previously-discussed attack on Unix system passwords).  In fact, as ECB mode
  263. has no pattern hiding ability whatsoever, all that is necessary is to encrypt a
  264. common pattern (such as a string of spaces) with all possible dictionary
  265. password values, and sort and store the result in a table.  Any password in the
  266. dictionary can then be broken just as fast as the value can be read out of the
  267. table.
  268.  
  269. PC Tools is another example of a software package which offers highly insecure
  270. encryption.  The DES implementation used in this package has had the number of
  271. rounds reduced from the normal 16 to a mere 2, making it trivial to break on
  272. any cheap personal computer.  This very weak implementation is distributed
  273. despite a wide body of research which documents just how insecure 2-round DES
  274. really is[2].
  275.  
  276. Even a correctly-implemented and applied DES encryption system offers only
  277. marginal security against a determined attacker.  It has long been rumoured
  278. that certain government agencies and large corporations (and, no doubt,
  279. criminal organizations) possessed specialized hardware which allowed them to
  280. break the DES encryption.  However only in August of 1993 have complete
  281. constructional details for such a device been published.  This device, for
  282. which the budget version can be built for around $100,000, can find a DES key
  283. in 3.5 hours for the somewhat more ambitious $1 million version (the budget
  284. version takes 1 1/2 days to perform the same task). The speed of this device
  285. scales linearly with cost, so that the time taken can be reduced to minutes or
  286. even seconds if enough money is invested.  This is a one-off cost, and once a
  287. DES-breaking machine of this type is built it can sit there day and night
  288. churning out a new DES key every few minutes, hours, or days (depending on the
  289. budget of the attacker).
  290.  
  291. In the 1980's, the East German company Robotron manufactured hundreds of
  292. thousands of DES chips for the former Soviet Union.  This means one of two
  293. things: Either the Soviet Union used the chips to build a DES cracker, or they
  294. used DES to encrypt their own communications, which means that the US built
  295. one.
  296.  
  297. The only way around the problem of fast DES crackers is to run DES more than
  298. once over the data to be encrypted, using so-called triple DES (using DES twice
  299. is as easy to attack as single DES, so in practice three iterations must be
  300. used).  DES is inherently slow.  Triple DES is twice as slow[3].  A hard drive
  301. which performs like a large-capacity floppy drive may give users a sense of
  302. security, but won't do much for their patience.
  303.  
  304. The continued use of DES, mainly in the US, has been due more to a lack of any
  305. replacement than to an ongoing belief in its security.  The National Bureau of
  306. Standards (now National Institute of Standards and Technology) has only
  307. relucatantly re-certified DES for further use every five years.  Interestingly
  308. enough, the Australian government, which recently developed its own replacement
  309. for DES called SENECA, now rates DES as being "inappropriate for protecting
  310. government and privacy information" (this includes things like taxation
  311. information and social security and other personal data).  Now that an
  312. alternative is available, the Australian government seems unwilling to certify
  313. DES even for information given under an "in confidence" classification, which
  314. is a relatively low security rating[4].
  315.  
  316. In comparison, the RC4 encryption used in Lotus Notes has been deliberately
  317. designed to offer only a certain level of security which means it is exportable
  318. under the US crypto export restrictions.  The key length is limited to 40 bits,
  319. making it possible to mount a brute-force attack against it in a reasonable
  320. amount of time[5].  A similar measure is used in IBM's Commercial Data Masking
  321. Facility, which uses a DES implementation limited to a 40-bit key.  Although
  322. the RC4 algorithm has a number of interesting properties which make it less
  323. than perfect, the simplest attack is still a brute-force check of all possible
  324. 40-bit key combinations[6].  Both RC4 and the CDMF are properly designed and
  325. implemented, but have been weakened somewhat by the need to satisfy the US
  326. governments restrictions on the use of strong cryptography.
  327.  
  328. Finally, the add-on "encryption" capabilities offered by general software
  329. packages are usually laughable.  Various programs exist which will
  330. automatically break the "encryption" offered by software such as Ami Pro, Arc,
  331. Arj, Lotus 123, the "improved encryption" in Lotus 123 3.x and 4.x, Lotus
  332. Symphony, Microsoft Excel, Microsoft Word, Novell Netware, Paradox, Pkzip 1.x,
  333. the "improved encryption" in Pkzip 2.x, Quattro Pro, Unix crypt(1), Wordperfect
  334. 5.x and ealier, the "improved" encryption in Wordperfect 6.x, and many
  335. others[7][8][9].  Indeed, these systems are often so simple to break that at
  336. least one package which does so adds several delay loops simply to make it look
  337. as if there were actually some work involved in the process.  Although the
  338. manuals for these programs make claims such as "If you forget the password,
  339. there is absolutely no way to retrieve the document", the "encryption" used can
  340. often be broken with such time-honoured tools as a piece of paper, a pencil,
  341. and a small amount of thought.  Some programs which offer "password protection
  342. security" don't even try to perform any encryption, but simply do a password
  343. check to allow access to the data.  Three examples of this are Stacker,
  344. Fastback, and Norton's partition security system, all three of which can either
  345. have their code patched or have a few bytes of data changed to ignore any
  346. password check before granting access to data.
  347.  
  348. Footnote [1]: There are at least three products available which will break both
  349.               the proprietary and DES encryption used in Diskreet.  One
  350.               publicly-available program which will perform this task is sold
  351.               by a company called AccessData.  More information on their
  352.               encryption-breaking software can be found a few paragraphs down.
  353.  
  354. Footnote [2]: A 2-round version is in fact so weak that most attackers never
  355.               bother with it.  Biham and Shamirs "Differential Cryptanalysis of
  356.               the Data Encryption Standard" only starts at 4 rounds, for which
  357.               16 encrypted data blocks are needed for a chosen-plaintext
  358.               attack.  A non-differential, ciphertext-only attack on a 3-round
  359.               version requires 20 encrypted data blocks.  A known-plaintext
  360.               attack requires "several" encrypted data blocks.  A 2-round
  361.               version will be significantly weaker than the 3-round version.
  362.               It has been reported that a university lecturer once gave his
  363.               students 2-round DES to break as a homework exercise.
  364.  
  365. Footnote [3]: There are some clever tricks which can be used to make a triple
  366.               DES implementation only twice as slow as single DES, rather than
  367.               three times as slow as would be expected.
  368.  
  369. Footnote [4]: The Commonwealth of Australia Protective Security Manual (PSM)
  370.               defines two classes of material, National Security Material and
  371.               Sensitive Material.  Sensitive Material is the lower
  372.               classification category, and the "In-Confidence" category is the
  373.               lowest sub-category for Sensitive Material, being defined in the
  374.               PSM as "Material which requires a limited degree of protection.
  375.               Unauthorised disclosure, loss, compromise, misuse of which, or
  376.               damage to in-confidence data might possibly cause harm to the
  377.               country, Government, or give unfair advantage to any entity".  In
  378.               addition "information considered private that needs some degree
  379.               of protection should normally be categorised as In-Confidence".
  380.  
  381. Footnote [5]: A sieve array populated by single-bit boolean processors running
  382.               at 40 MIPS would produce one trial per cycle, with the average
  383.               time to break a 40 bit key by brute force (.5x10^12) being a
  384.               little over three hours.  There are inexpensive DSP's (digital
  385.               signal processors) available which can be used for this purpose,
  386.               in a device costing a few tens of thousands of dollars.
  387.  
  388. Footnote [6]: RC4 has two parts, the initialization phase, and the random
  389.               number generation phase used for the encryption itself.  An array
  390.               is initialized with the user's key to be a random permutation.
  391.               The random number generator then mixes the permutation and
  392.               reports values looked up pseudorandomly in that permutation.
  393.  
  394.               Among the weaknesses in RC4 are that there is too high a
  395.               likelihood during the initialization phase that small values
  396.               will remain in small positions in the initial permutation; user
  397.               keys are repeated to fill 256 bytes, so 'aaaa' and 'aaaaa'
  398.               produce the same permutation; results are looked up at
  399.               pseudorandom positions in the array, and if some internal state
  400.               causes a certain sequence of positions to be looked up, there are
  401.               255 similar internal states that will look up values in the same
  402.               sequence of positions (although the values in those positions
  403.               will be different), from which it can be shown that cycles come
  404.               in groups of 2^n, where all cycles in a group have the same
  405.               length, and all cycles are of an odd length * 256 unless they are
  406.               in a group of 256; there is a bias in the results so that, for
  407.               example, the pattern "a a" is too likely and the pattern "a b a"
  408.               is too unlikely, which can be detected only after examining about
  409.               8 trillion bytes; the internal state is not independent of the
  410.               results, so that with a given result there are two patterns in
  411.               the internal state that appear 1/256 times more often than they
  412.               ought to; and at least two seperate methods exist for deducing
  413.               the internal state from the results in around 2^900 steps.
  414.  
  415.               In none of these cases do they reduce the complexity of an attack
  416.               to anywhere near the level of simply trying all 2^40 keys - like
  417.               the differential and linear cryptanalysis results for DES, they
  418.               serve more as an indication of how strong the cipher is than how
  419.               weak it is.
  420.  
  421. Footnote [7]: A package which will break many of these schemes is sold by
  422.               AccessData, 560 South State, Suite J-1, Orem, Utah 84058, ph.
  423.               1-801-224-6970, fax 1-801-224-6009, email support@accessdata.com.
  424.               Access Data's main European distributor, Key Exchange, is based
  425.               in London, ph. +44-81-744-1551.  They provide software which will
  426.               break WordPerfect (versions 4.2-6.1, regular or enhanced
  427.               encryption), Microsoft Word (versions 2.0-6.1), Microsoft Excel
  428.               (all versions including the Macintosh one), Lotus 1-2-3 (all
  429.               versions), Quattro Pro, Paradox, Pkzip, Norton's Diskreet (both
  430.               DES and proprietary encryption), Novell NetWare (versions
  431.               3.x-4.x), and others.  All the programs come with a 100%
  432.               guarantee.  AccessData also offers to its customers free inhouse
  433.               recovery of data created with applications like Quicken,
  434.               Microsoft Money, and other simple (non-encryption based) password
  435.               systems.
  436.  
  437.               AccessData provide a free demonstration disk which will decrypt
  438.               files that have a password of 10 characters in length.  The
  439.               lengths of passwords other than 10 characters in length will be
  440.               displayed, but not the password itself.  They also make demo
  441.               versions of their software available on their FTP site
  442.               ftp.accessdata.com in the directory /pub/demo, and have a Web
  443.               page at http://www.accessdata.com.  As an example, a demo of
  444.               their WordPerfect 6.0b encryption breaker is available from the
  445.               FTP site as wrpassd.exe.  More information on the contents of the
  446.               directory is present in the directory itself.
  447.  
  448. Footnote [8]: A number of programs (too many to list here) which will break the
  449.               encryption of all manner of software packages are freely
  450.               available via the internet.  For example, a WordPerfect
  451.               encryption cracker is available from garbo.uwasa.fi in the
  452.               directory /pc/util as wppass2.zip.  The Pkzip 1.x and 2.x
  453.               encryption was first publicly broken by Paul Kocher in August
  454.               1994 (although the NSA must have broken it much earlier, as they
  455.               allowed it to be exported from the US).  His method works
  456.               regardless of the password size or file content.  The Ami Pro
  457.               encryption was also first publicly broken by Paul Kocher in
  458.               February 1995 (although again it was rumoured that private
  459.               organisations had broken it much earlier).  The method of
  460.               breaking Ami Pro also works regardless of password size or file
  461.               content.
  462.  
  463. Footnote [9]: CRAK Software produce encryption breaking software for a wide
  464.               variety of popular word processor, spreadsheet, and financial
  465.               programs including MS Excel 5.0, Lotus 123 version 4.0, Quattro
  466.               Pro 6.0, MS Word 6.0, Wordperfect through to version 5.2, and
  467.               Quicken through to version 4.0, with software to handle earlier
  468.               versions of these programs available on request.  Demo versions
  469.               of some of these programs are available from ftp.indirect.com in
  470.               the directory /www as excrak.zip, locrak.zip, qpcrak.zip,
  471.               wdcrak.zip, and wpcrak.zip respectively.  CRAK Software can be
  472.               contacted at 1-800-484-9628 ext.7584 or through their WWW home
  473.               page at http://www.indirect.com/johnk/
  474.  
  475. Footnote [10]: Why are you reading this footnote?  Nowhere in the text is there
  476.                a [10] referring you to this note.  Go back to the start, and
  477.                don't read this footnote again!
  478.  
  479.  
  480. Data Security
  481. -------------
  482.  
  483. This section presents an overview of a range of security problems which are, in
  484. general, outside the reach of SFS.  These include relatively simple problems
  485. such as not-quite-deleted files and general computer security, through to
  486. sophisticated electronic monitoring and surveillance of a location in order to
  487. recover confidential data or encryption keys.  The coverage is by no means
  488. complete, and anyone seriously concerned about the possibility of such an
  489. attack should consult a qualified security expert for further advice.  You
  490. should remember when seeking advice about security that an attacker will use
  491. any available means of compromising the security of your data, and will attack
  492. areas other than those for which the strongest defense mechanisms have been
  493. installed.  For this reason you should consider all possible means of attack,
  494. since strengthening one area may merely make another area more appealing to an
  495. opponent.
  496.  
  497.  
  498. Information Leakage
  499.  
  500. There are several ways in which information can leak from an encrypted SFS
  501. volume onto other media.  The simplest kind of information leakage is in the
  502. form of temporary files maintained by application software and operating
  503. systems, which are usually stored in a specific location and which, when
  504. recovered, may contain file fragments or entire files from an encrypted volume.
  505. This is true not only for the traditional word processors, spreadsheets,
  506. editors, graphics packages, and so on which create temporary files on disk in
  507. which to save data, but also for operating systems such as OS/2, Windows NT,
  508. and Unix, which reserve a special area of a disk to store data which is swapped
  509. in and out of memory when more room is needed.
  510.  
  511. This information is usually deleted by the application after use, so that the
  512. you won't even be aware that it exists.  Unfortunately "deletion" generally
  513. consists of setting a flag which indicates that the file has been deleted,
  514. rather than overwriting the data in any secure way.  Any information which is
  515. "deleted" in this manner can be trivially recovered using a wide variety of
  516. tools[1].  In the case of a swap file there is no explicit deletion as the swap
  517. area is invisible to the user anyway.  On a lightly-loaded system, data may
  518. linger in a swap area for a considerable amount of time.
  519.  
  520. The only real solution to this problem is to redirect all temporary files and
  521. swap files either to an encrypted volume or to a RAM disk whose contents will
  522. be lost when power is removed.  Most programs allow this redirection, either as
  523. part of the program configuration options or by setting the TMP or TEMP
  524. environment variables to point to the encrypted volume or RAM disk.
  525.  
  526. Unfortunately moving the swap area and temporary files to an encrypted volume
  527. results in a slowdown in speed as all data must now be encrypted.  One of the
  528. basic premises behind swapping data to disk is that very fast disk access is
  529. available.  By slowing down the speed of swapping, the overall speed of the
  530. system (once swapping becomes necessary) is reduced.  However once a system
  531. starts swapping there is a significant slowdown anyway (with or without
  532. encryption), so the tradeoff between encrypting the swap file for added
  533. security or not encrypting it for added speed is up to you.
  534.  
  535. The other major form of information leakage with encrypted volumes is when
  536. backing up the data contained on them.  Currently there is no generally
  537. available secure backup software (the few applications which offer "security"
  538. features are generally ridiculously easy to circumvent), so that all data
  539. stored on an encrypted volume will generally need to be backed up in
  540. unencrypted form.  Like the decision on where to store temporary data and swap
  541. files, this is a tradeoff between security and convenience.  If it were
  542. possible to back up an encrypted volume in its encrypted form, the entire
  543. volume would have to be backed up as one solid block every time a backup was
  544. made.  This could mean a daily backup of five hundred megabytes instead of the
  545. half megabyte which has changed recently.  Incremental backups would be
  546. impossible.  Backing up or restoring individual files would be impossible.  Any
  547. data loss or errors in the middle of a large encrypted block could be
  548. catastrophic (in fact the encryption method used in SFS has been carefully
  549. selected to ensure that even a single encrypted data bit changed by an attacker
  550. will be noticeable when the data is decrypted[2]).
  551.  
  552. Since SFS volumes in their encrypted form are usually invisible to the
  553. operating system anyway, the only way in which an encrypted volume can be
  554. backed up is by accessing it through the SFS driver, which means the data is
  555. stored in its unencrypted form.  This has the advantage of allowing standard
  556. backup software and schedules to be used, and the disadvantage of making the
  557. unencrypted data available to anyone who has access to the backups.  User
  558. discretion is advised.
  559.  
  560. If you regard it as absolutely essential that backups be encrypted, and have
  561. the time and storage space to back up an entire encrypted volume, then the
  562. Rawdisk 1.1 driver, available as ftp.uni-duisburg.de:/pub/pc/misc/rawdsk11.zip,
  563. can be used to make the entire encrypted SFS volume appear as a file on a DOS
  564. drive which can be backed up using standard DOS backup software.  The
  565. instructions which come with Rawdisk give details on setting the driver up to
  566. allow non-DOS volumes to be backed up as standard DOS drives.  The SFS volume
  567. will appear as a single enormous file RAWDISK.DAT which entirely fills the DOS
  568. volume.
  569.  
  570. Another possibility for encrypted backups involves using Windows, DesqView, or
  571. some other task switcher, in conjunction with a floppy backup program.  By
  572. switching to another task window and mounting a new SFS volume when the current
  573. one has been filled up, and then switching back to the task window in which the
  574. backup program is running, the need to re-mount volumes when a disk swap takes
  575. place can be hidden from the backup program.  The exact sequence of steps for
  576. performing a backup to SFS-encrypted floppy disks is as follows:
  577.  
  578.   1. Mount an SFS volume in a floppy drive
  579.   2. Using the backup program, fill the volume in the floppy drive
  580.   3. Switch to another task window
  581.   4. Unmount the SFS volume in the floppy drive
  582.   5. Mount a new SFS volume in the floppy drive
  583.   6. Switch back to the original task window
  584.   7. Go to step 2.
  585.  
  586. Unfortunately, this method will only work for floppy backups and is really best
  587. suited to small amounts of data.  Where larger amounts of data are involved and
  588. tape backup units are available, the first method for obtaining encrypted
  589. backups is preferred.
  590.  
  591. Footnote [1]: For example, more recent versions of MSDOS and DRDOS come with an
  592.               "undelete" program which will perform this task.
  593.  
  594. Footnote [2]: This is not a serious limitation, since it will only affect
  595.               deliberate changes in the data.  Any accidental corruption due to
  596.               disk errors will result in the drive hardware reporting the whole
  597.               sector the data is on as being unreadable.  If the data is
  598.               deliberately changed, the sector will be readable without errors,
  599.               but won't be able to be decrypted.
  600.  
  601.  
  602. Eavesdropping
  603.  
  604. The simplest form of eavesdropping consists of directly overwiewing the system
  605. on which confidential data is being processed.  The easiest defence is to
  606. ensure that no direct line-of-sight path exists from devices such as computer
  607. monitors and printers to any location from which an eavesdropper can view the
  608. equipment in question.  Copying of documents and the contents of computer
  609. monitors is generally possible at up to around 100 metres (300 feet) with
  610. relatively unsophisticated equipment, but is technically possible at greater
  611. distances.  You should also consider the possibility of monitoring from
  612. locations such as office-corridor windows and nearby rooms.  This problem is
  613. particularly acute in open-plan offices and homes.
  614.  
  615. The next simplest form of eavesdropping is remote eavesdropping, which does not
  616. require access to the building but uses techniques for information collection
  617. at a distance.  The techniques used include taking advantage of open windows or
  618. other noise conveying ducts such as air conditioning and chimneys, using
  619. long-range directional microphones, and using equipment capable of sensing
  620. vibrations from surfaces such as windows which are modulated by sound from the
  621. room they enclose.  By recording the sound of keystrokes when a password or
  622. sensitive data is entered, an attacker can later recreate the password or data,
  623. given either access to the keyboard itself or enough recorded keystrokes to
  624. reconstruct the individual key sound patterns.  Similar attacks are possible
  625. with some output devices such as impact printers.
  626.  
  627. Another form of eavesdropping involves the exploitation of existing equipment
  628. such as telephones and intercoms for audio monitoring purposes.  In general any
  629. device which handles audio signals and which can allow speech or other sounds
  630. to be transmitted from the place of interest, which can be modified to perform
  631. this task, or which can be used as a host to conceal a monitoring device and
  632. provide power and possibly microphone and transmission capabilites to it (such
  633. as, for example, a radio) can be the target for an attacker.  These devices can
  634. include closed-circuit television systems (which can allow direct overviewing
  635. of confidential information displayed on monitors and printers), office
  636. communication systems such as public address systems, telephones, and intercoms
  637. (which can either be used directly or modified to transmit sound from the
  638. location to be monitored), radios and televisions (which can be easily adapted
  639. to act as transmitters and which already contain power supplies, speakers (to
  640. act as microphones), and antennae), and general electrical and electronic
  641. equipment which can harbour a range of electronic eavesdropping devices and
  642. feed them with their own power[1].
  643.  
  644. Another eavesdropping possibility is the recovery of information from hardcopy
  645. and printing equipment.  The simplest form of this consists of searching
  646. through discarded printouts and other rubbish for information.  Even shredding
  647. a document offers only moderate protection against a determined enough
  648. attacker, especially if a low-cost shredder which may perform an inadequate job
  649. of shredding the paper is employed.  The recovery of text from the one-pass
  650. ribbon used in high-quality impact printers is relatively simple.  Recovery of
  651. text from multipass ribbons is also possible, albeit with somewhat more
  652. difficulty.  The last few pages printed on a laser printer can also be
  653. recovered from the drum used to transfer the image onto the paper.
  654.  
  655. Possibly the ultimate form of eavesdropping currently available, usually
  656. referred to as TEMPEST (or occasionally van Eck) monitoring, consists of
  657. monitoring the signals generated by all electrically-powered equipment.  These
  658. signals can be radiated in the same way as standard radio and television
  659. transmissions, or conducted along wiring or other metal work.  Some of these
  660. signals will be related to information being processed by the equipment, and
  661. can be easily intercepted (even at a significant distance) and used to
  662. reconstruct the information in question.  For example, the radiation from a
  663. typical VDU can be used to recover data with only a receiver at up to 25m (75
  664. feet), with a TV antenna at up to 40m (120 feet), with an antenna and
  665. amplification equipment at up to 80m (240 feet), and at even greater distances
  666. with the use of more specialised equipment[2].  Information can also be
  667. transmitted back through the power lines used to drive the equipment in
  668. question, with transmission distances of up to 100m (300 feet) being possible.
  669.  
  670. TEMPEST monitoring is usually relatively expensive in terms of the resources
  671. required, difficult to mount, and unpredictable in outcome.  It is most likely
  672. to be carried out where other methods of eavesdropping are impractical and
  673. where general security measures are effective in stopping monitoring.  However,
  674. once in place, the amount of information available through this form of
  675. eavesdropping is immense.  In general it allows the almost complete recovery of
  676. all data being processed by a certain device such as a monitor or printer,
  677. almost undetectably, and over a long period of time[3][4][5].  Protection
  678. against TEMPEST monitoring is difficult and expensive, and is best left to
  679. computer security experts[6][7].
  680.  
  681. However, some simple measures are still possible, such as paying attention to
  682. the orientation of VDU's (most of the signal radiated from a VDU is towards the
  683. sides, with very little being emitted to the front and rear), chosing equipment
  684. which already meets standards for low emissions (for example in the US the
  685. "quietest" standard for computers and peripherals is know as the FCC Class B
  686. standard), using well-shielded cable for all system interconnections
  687. (unshielded cable such as ribbon cable acts as an antenna for broadcasting
  688. computer signals), using high-quality power line filters which block signals
  689. into the high radio frequency range, and other methods generally used to reduce
  690. or eliminate EMI (electromagnetic interference) from electronic equipment.
  691.  
  692. Footnote [1]: For an example of a device which needs no special modifications
  693.               to allow remote monitoring, the Drake intercom system can be used
  694.               to listen to any other unit on the system by pressing soft, dir,
  695.               down (to the desired address), rtn, soft assn, attr, t+fl (the
  696.               addresses will start to flash, the desired address can now be
  697.               selected), at which point the selected address will be bugged
  698.               without the other end being aware of this.  The bugging can be
  699.               turned off again by pressing exit, t+l, selecting the flashing
  700.               address as before, exit, soft.  This capability is built into the
  701.               system and requires no special modifications.  Similar "features"
  702.               are also present in a number of other intercom and PABX systems.
  703.  
  704. Footnote [2]: These figures are taken from "Schutzmassnahmen Gegen
  705.               Kompromittierende Elektromagnetische Emissionen von
  706.               Bildschirmsichtgeraeten", Erhard Moeller and Lutz Bernstein,
  707.               Labor fuer Nachrichtentechnik, Fachhochschule Aachen.
  708.  
  709. Footnote [3]: An example of the kind of equipment used for TEMPEST monitoring
  710.               is the NSA's F-3 ASCII code receiving antenna.  When used with a
  711.               portable receiver, the F-3 system allows an agent to record data
  712.               as it is entered from a computer keyboard.  The F-3
  713.               receiver/recorder is hand held and can detect transmissions at
  714.               some distance through a 25cm (10 inch) thick concrete wall.
  715.  
  716. Footnote [4]: A demonstration of this form of eavesdropping was done in the
  717.               1988 BBC program "High Tech Spies", in which a van containing
  718.               detection equipment drove around London reading data off the
  719.               screens of computers located in law offices and brokerage firms.
  720.               The results were then shown to executives of the firms.
  721.  
  722. Footnote [5]: Another demonstration was done by Winn Schwartau on Geraldo
  723.               Riviera's "Now! It Can Be Told" TV show, broadcast on 30
  724.               September 1991.
  725.  
  726. Footnote [6]: TEMPEST informatiom and shielding measures for protection against
  727.               TEMPEST monitoring are specified in standards like "Tempest
  728.               Fundamentals", NSA-82-89, NACSIM 5000, National Security Agency,
  729.               February 1, 1982, "Tempest Countermeasures for Facilities Within
  730.               the United States", National COMSEC Instruction, NACSI 5004,
  731.               January 1984, "Tempest Countermeasures for Facilities Outside the
  732.               United States", National COMSEC Instruction, NACSI 5005, January
  733.               1985, and MIL-STD 285 and 461B.  Unfortunately these
  734.               specifications have been classified by the organisations who are
  735.               most likely to make use of TEMPEST eavesdropping, and are not
  736.               available to the public.
  737.  
  738. Footnote [7]: A computer centre in Moscow had all its windows shielded with
  739.               reflective aluminium film which was supposed to provide enough
  740.               protection to stop most forms of TEMPEST eavesdropping.  The
  741.               technique seems to have worked, because a KGB monitoring van
  742.               parked outside apparently didn't notice the fact that the
  743.               equipment had been diverted to the task of printing out
  744.               Strugatsky's novels.
  745.  
  746.  
  747. Trojan Horses
  748.  
  749. It may be possible for an attacker to replace the SFS software with a copy
  750. which seems to be identical but which has major weaknesses in it which make an
  751. attack much easier, for example by using only a few characters of the password
  752. to encrypt the disk.  The least likely target is mksfs, since changing the way
  753. this operates would require a similar change to mountsfs and the SFS driver
  754. which would be easily detectable by comparing them with and independant,
  755. original copy.  Since a changed mksfs would require the long-term use of a
  756. similarly changed mountsfs and driver, the chances of detection are greatly
  757. increased.
  758.  
  759. A much more subtle attack involves changing mountsfs.  By substituting a
  760. version which saves your password or encryption key to an unused portion of the
  761. disk and then replaces itself with an unmodified, original copy, an attacker
  762. can return at their leisure and read the password or key off the disk, leaving
  763. you none the wiser that your encryption key has been compromised.  The SFS
  764. driver may be modified to do this as well, although the task is slighly more
  765. difficult than changing mountsfs.
  766.  
  767. Detecting this type of attack is very difficult, since although it is possible
  768. to use security software which detects changes, this itself might be modified
  769. to give a false reading.  Software which checks the checking software may in
  770. turn be modified, and so on ad infinitum.  In general someone who is determined
  771. enough can plant an undetectable trojan[1], although precautions like using
  772. modification-detection programs, keeping physically separate copies of the SFS
  773. software, and occasionally checking the installed versions against other,
  774. original copies, may help reduce the risk somewhat.  Booting into an encrypted
  775. partition, as described in the section "Advanced SFS Driver Options" above,
  776. which contains "clean" copies of the SFS software, and comparing the clean
  777. driver with the one used to boot into the encrypted partition, reduces the risk
  778. further.  Finally, the eventual creation of a hardware SFS encryption card will
  779. reduce the risk even further, although it would still be possible for an
  780. attacker to substitute their own fake encryption card[2].
  781.  
  782. Another attack possibility is the creation of a program unrelated to SFS which
  783. monitors the BIOS character write routines for the printing of the password
  784. prompt, or video RAM for the appearance of the prompt, or the BIOS keyboard
  785. handler, or any number of other possibilities, and then reads the password as
  786. it is typed in[3][4][5][6].  This is a generic attack against all types of
  787. encryption software, and doesn't rely on a compromised copy of the software
  788. itself.  It isn't even necessary for the captured information to be recorded
  789. anywhere, since the trojan can transmit it over a network which the computer
  790. may be attached to, or simply send it to any convenient (but not necessarily
  791. active) output device external to the computer in order to make a TEMPEST
  792. attack easier to mount.
  793.  
  794. The stealth features in SFS are one way of making this kind of monitoring much
  795. more difficult (none of the keyboard-monitoring programs mentioned are
  796. effective against the SFS software), and are explained in more detail in the
  797. section "Security Analysis" below.  However the only really failsafe way to
  798. defeat this kind of attack is to use custom hardware which performs its task
  799. before any user software has time to run, such as the hardware SFS version
  800. currently under development.
  801.  
  802. Footnote [1]: An attacker could employ, for example, what David Farber has
  803.               described as "supplemental functionality in the keyboard driver".
  804.  
  805. Footnote [2]: An attack of this kind was carried out in 1989 at Cambridge
  806.               University, when students dismantled public-access terminals and
  807.               replaced the firmware with a newer version which captured
  808.               passwords for later replay.  This attack was documented in D.
  809.               Harriman's article "Password Fishing on Public Terminals" in the
  810.               January 1990 Computer Fraud and Security Bulletin, p.12.
  811.  
  812. Footnote [3]: One program which performs the task of caturing keystrokes is
  813.               Phantom 2.29i, available from wuarchive.wustl.edu in the
  814.               directory /pub/msdos/keyboard as ptm229i.zip, or from P2
  815.               Enterprises, P.O. Box 25, Ben Lomond, California 95005-0025.
  816.               This program not only allows the recording of all keystrokes but
  817.               provides timing information down to fractions of a second,
  818.               allowing for detailed typing pattern analysis by an attacker.
  819.               There also exists a modified version of Phantom distributed as
  820.               dos.zip which adds various stealth features to make it harder to
  821.               detect.
  822.  
  823.               Two more keystroke-capturing programs are Encore, also available
  824.               from wuarchive.wustl.edu in the directory /pub/msdos/keyboard as
  825.               encore.zip, and KeyCopy, available from ftp.clark.net in the
  826.               directory /pub/jcase as keycopy.zip.
  827.  
  828.               Another keystroke grabber, distibuted as depl.zip, runs a target
  829.               program inside a shell which saves all keystrokes in scrambled
  830.               form to a hidden file for later retrieval.  DEPL can remove
  831.               itself after use, and is customizable via a simple script file.
  832.  
  833. Footnote [4]: A program specifically created for this purpose is keytrap, which
  834.               is distributed as File 26 of Phrack Volume 5, Issue 46 (20
  835.               September 1994) and is available from freeside.com in the
  836.               directory /pub/phrack as phrack46.zip.  keytrap is a
  837.               memory-resident program which logs keystrokes to a hidden data
  838.               file for later recovery, and comes with source code allowing it
  839.               to be easily customized for a particular purpose.  A slightly
  840.               improved version is available as keytrap2.zip.
  841.  
  842. Footnote [5]: A program which watches for a certain event before activating
  843.               itself is Thief (originally called Getit), written by someone at
  844.               George Washington High School in Denver, Colorado to capture
  845.               Novell logon ID's and passwords.  The program hooks the DOS int
  846.               21h interrupt and waits for EXEC (program execute) calls.  It
  847.               then checks to see if the program being executed is the Novell
  848.               LOGIN program.  If it is, it captures subsequent keystrokes to a
  849.               hidden file for later perusal.  Thief comes with source code and
  850.               can be modified to check for other programs or perform other
  851.               monitoring functions if required.
  852.  
  853. Footnote [6]: PC-Sentry, available in the Compuserve NOVUSER forum as
  854.               sentry.zip, can secretly monitor and log all computer activity
  855.               such as files accessed or deleted, command-line activity,
  856.               programs run, and so on.  A network version is also available.
  857.               Activity Monitor, available in the Compuserve IBMSYS forum as
  858.               actmon.zip, can monitor all activity under Windows 3.1 or above,
  859.               and has a stealth mode of operation for unobtrusive use.              
  860.  
  861.  
  862. Dangers of Encryption
  863.  
  864. The use of very secure encryption is not without its downsides.  Making the
  865. data completely inaccessible to anyone but the holder of the correct password
  866. can be hazardous if the data being protected consists of essential information
  867. such as the business records for a company which are needed in its day-to-day
  868. operation.  If the holder of the encryption password is killed in an accident
  869. (or even just rendered unconscious for a time), the potential complete loss of
  870. all business records is a serious concern.
  871.  
  872. Another problem is the question of who the holder of the password(s) should be.
  873. If the system administrator at a particular site routinely encrypts all the
  874. data held there for security purposes, then later access to the entire
  875. encrypted dataset is dependant on the administrator, who may forget the
  876. password, or die suddenly, or move on to another job and have little incentive
  877. to inform their previous employer of the encryption password (for example if
  878. they were fired from the previous job).  It could even occur that the
  879. ex-administrator has forgotten the password used at his previous place of
  880. employment and might require a small, five-figure consideration to help jog his
  881. memory.  The difficulty in prosecuting such a case would be rather high, as
  882. proving that the encryption system wasn't really installed in good faith by the
  883. well-intentioned administrator to protect the company data and that the
  884. password wasn't genuinely forgotten would be well nigh impossible.
  885.